package com.ddpt.permission.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lh.center.common.base.BizService;
import com.lh.center.common.dto.IdDto;
import com.lh.center.common.dto.IdExtDto;
import com.lh.center.permission.api.entity.StoreAdminUser;
import com.lh.center.permission.api.request.PageStoreUserReq;
import com.lh.center.permission.api.request.StoreListRequest;
import com.lh.center.permission.api.request.UpdateStoreUserPasswordReq;
import com.lh.center.permission.api.response.PageStoreUserRes;

import java.util.List;

/**
 * <p>
 * 商家表 服务类
 * </p>
 *
 * @author czy
 * @since 2022-04-13
 */
public interface StoreAdminUserService extends BizService<StoreAdminUser> {

    /**
     * 创建商家
     */
    StoreAdminUser createStoreUser(StoreAdminUser storeAdminUser);

    /**
     * 编辑商家
     */
    void updateStoreUser(StoreAdminUser storeAdminUser);

    /**
     * 查询单个商家信息
     */
    StoreAdminUser getStoreById(IdDto idDto);

    /**
     * 分页获取商家信息
     * @param pageStoreUserReq
     * @return
     */
    Page<PageStoreUserRes> getPageUser(PageStoreUserReq pageStoreUserReq);

    Page<PageStoreUserRes> getStorePage(PageStoreUserReq req);

    /**
     * 删除商家信息
     * @param idDto
     */
    void deleteStoreUser(IdDto idDto);

    /**
     * 启用/停用商家
     */
    Integer updateStatus(IdExtDto idDto);

    /**
     * 修改密码
     */
    void updatePassword(UpdateStoreUserPasswordReq updateStoreUserPasswordDot);

    /**
     * 绑定微信
     */
    void bindWx(Long id, String openId);

    /**
     * 解绑微信
     */
    void unBindWx(Long id);

    List<StoreAdminUser> getDefaultStores(StoreListRequest req);
}
